package com.abc.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

/**
 * 提示词配置类
 * 统一管理所有AI提示词配置
 * 
 * @author abc
 * @since 2024-01-01
 */
@Data
@Component
@RefreshScope
@ConfigurationProperties(prefix = "prompt")
public class PromptConfig {

    /**
     * 标题生成提示词
     */
    private Title title = new Title();

    /**
     * 聊天提示词
     */
    private Chat chat = new Chat();

    /**
     * 总结提示词
     */
    private Summary summary = new Summary();

    /**
     * 翻译提示词
     */
    private Translation translation = new Translation();

    @Data
    public static class Title {
        /**
         * 系统提示词
         */
        private String systemPrompt;

        /**
         * 用户提示词模板
         */
        private String userPromptTemplate;
    }

    @Data
    public static class Chat {
        /**
         * 系统提示词
         */
        private String systemPrompt;

        /**
         * 用户提示词模板
         */
        private String userPromptTemplate;
    }

    @Data
    public static class Summary {
        /**
         * 系统提示词
         */
        private String systemPrompt;

        /**
         * 用户提示词模板
         */
        private String userPromptTemplate;
    }

    @Data
    public static class Translation {
        /**
         * 系统提示词
         */
        private String systemPrompt;

        /**
         * 用户提示词模板
         */
        private String userPromptTemplate;
    }
}
